package com.shujia.java.day4;

import java.util.Arrays;

public class Demo7TwoSum {
    public static void main(String[] args) {


        /**
         * 给定一个整数数组 nums 和一个目标值 target，请你在该数组中找出和为目标值的那 
         * 两个 整数，并返回他们的数组下标。
         *
         * 你可以假设每种输入只会对应一个答案。但是，你不能重复利用这个数组中同样的元素。
         *
         * 示例:
         *
         * 给定 nums = [2, 7, 11, 15], target = 9
         *
         * 因为 nums[0] + nums[1] = 2 + 7 = 9
         * 所以返回 [0, 1]
         *
         *
         */

        int[] nums = {2, 4, 4, 7, 11, 15};
        int target = 8;

        int[] indexs = twoSum(nums, target);

        System.out.println(Arrays.toString(indexs));


    }

    public static int[] twoSum(int[] nums, int target) {
        //时间复杂度  O(n2)
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (target - nums[i] == nums[j]) {
                    //返回一个数组
                    return new int[]{i, j};
                }
            }
        }

        //如果不满足返回-1
        return new int[]{-1, -1};
    }
}
